#案例一：打印星星函数
def print_star():
    "你好，我可以打印8个星星"
    print("*" * 8)
print_star()

#案例二：函数实际用法
def print_star(num):
    "你好，我可以打印8个星星"
    return "*" * num
data = print_star(8)
print(data)

#案例三：多个参数
def print_star(num,num2):
    "你好，你可以给我传递两个参数，我可以打印n个星星，m个@"
    return "*" * num + "@" * num2
data = print_star(8,9)
print(data)

#案例四：多个参数（默认值）
def print_star(num,num2=8):
    "你好，你可以给我传递两个参数，我可以打印n个星星，m个@"
    return "*" * num + "@" * num2
data = print_star(8)
print(data)
data = print_star(8,9)
print(data)

#案例五：多个参数（默认值）
def print_star(num=20,num2=50):
    "你好，你可以给我传递两个参数，我可以打印n个星星，m个@"
    return "*" * num + "@" * num2
data = print_star()
print(data)
data = print_star(4,10)
print(data)

# #案例六：错误定义传参
# def print_star(num=20,num2):
#     "你好，你可以给我传递两个参数，我可以打印n个星星，m个@"
#     return "*" * num + "@" * num2
# data = print_star(8)
# print(data)

# 案例七：可变参数（接受多个整数）
def get_sum(*num):
    "你好，我可以求和"
    print(num)
    sum = 0
    for i in num:
        sum += i
    return sum
data = get_sum(1,2,3,4,5,6,7,8,9,10,11,12,13,14)
print(data)

# 案例八：可变参数（接受多个字符串）
def get_sum(*user):
    "你好，我可以返回人名信息的值"
    print(user)
    sum = 0
    for i in user:
        print(f"The username is {i}, age is 18")
get_sum("tom","cat","jerry","smith")


